package org.kzwl.service.app;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.kzwl.comm.pojo.ResponseData;
import org.kzwl.comm.pojo.bo.*;
import org.kzwl.comm.pojo.bo.user.UpdateUserBO;
import org.kzwl.comm.pojo.dto.UserLoginDTO;
import org.kzwl.comm.pojo.dto.user.UserTokenDTO;
import org.kzwl.entity.app.User;

import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 张国伟/郭家恒
 * @since 2020-09-10
 */
public interface UserService extends IService<User> {

    ResponseData<IPage<User>> IsLiveQuery(IsUserLiveBO isUserLiveBO);

    ResponseData<Void> updateIsLive(IsUserLiveUpadteBO isUserLiveUpadteBO);

    //用户登录
    UserLoginDTO userLogin(UserLoginBO bo);

    //用户注册
    void register(UserLoginBO bo);

    //根据token获取用户信息
    UserTokenDTO getUserByToken(UserLoginDTO bo);

    ResponseData<Void> useRegister(UseRegisterBO useRegisterBO);

    //发送短信
    void sendSms(UserLoginBO bo);

    User WebLogin(WebUserLoginBO webUserLoginBO);

    //PC用户修改个人信息
    void updateUser(UpdateUserBO bo);

    Integer userCount();

}
